package com.cy.demo.mapper;

import com.cy.demo.pojo.Cart;
import com.cy.demo.pojo.CartVO;
import org.apache.ibatis.annotations.Mapper;

import java.util.Date;
import java.util.List;

@Mapper
public interface CartMapper {


    /**
     * @param cart 购物车信息
     * @return 插入结果
     */
    int insertCart(Cart cart);


    /**
     *
     * @param cid 购物车数据id
     * @param num 更新的数量
     * @param modifiedUser 修改者
     * @param modifiedTime 修改时间
     * @return 受影响的行数
     */
    int updateCartNum(int cid,
                      int num,
                      String modifiedUser,
                      Date modifiedTime);

    /**
     *根据用户id和商品id来查询购物车中的数据
     * @param uid 用户名id
     * @param pid 商品id
     * @return 购物车数据
     */
    Cart findByUidAndPid(int uid,
                         int pid);

    /**
     *
     * @param uid 用户id
     * @return 当前用户的所有购物车记录
     */
    List<CartVO> findVOByUid(int uid);

    /**
     *
     * @param cid 购物车id
     * @return id对应的购物车记录
     */
    Cart findByCid(int cid);

    /**
     * 删除某个购物车记录
     * @param cid 购物车id
     * @return 影响的行数
     */
    int deleteByCid(int cid);

    /**
     *
     * @param cids 勾选的所有购物车id
     * @return 对应购物车id下的所有记录
     */
    List<CartVO> findVOByCids(int[] cids);



}
